// 3.导入基础地址
import env from '../../env.js'
// 4.导入axios
import axios from 'axios'
// 5.建一个axios实例
var services = axios.create({
  baseURL: env.baseUrl, // 配置baseUrl
  timeout: 5000// 规定请求超时时间，单位是毫秒
})
// 6.请求拦截器 配置一些访问后台的条件
services.interceptors.request.use((config) => {
  // 设置头部
  config.headers['Content-Type'] = 'application/x-www-form-urlencoded'
  // config配置
  // console.log(config, '配置信息')
  // 返回config
  return config
}, (err) => {
  // 跨域
  console.log(err, '请求失败信息')
  Promise.reject(new Error(err))
})

// 7.响应拦截器 可以根据后台返回数据进行对应逻辑
services.interceptors.response.use((response) => {
  // response响应
  // console.log(response, '响应信息')
  // 根据后台标志符去做某些事
  if (response.data.error_code === 0) {
    // 返回
    return response
  } else {
    Promise.reject(new Error('请求错误'))
  }
}, (err) => {
  // 服务器崩了
  console.log(err, '响应错误')
  Promise.reject(new Error('响应错误'))
})
// 8.导出axios实例对象
export default services
